Systems and methods for dental treatment planning

ABSTRACT

Computer-implemented systems and methods implement a dental treatment plan by specifying tooth movement patterns using a two-dimensional array; and generating treatment paths to move the teeth in accordance with the specified pattern.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims priority from Provisional Application Serial No.60/199,610, filed Apr. 25, 2000, and is a continuation-in-part ofApplication Ser. No. 09/313,289, filed May 13, 1999, the fulldisclosures of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates generally to the field of orthodontics and, moreparticularly, to computer-automated development of an orthodontictreatment plan and appliance.

Repositioning teeth for aesthetic or other reasons is accomplishedconventionally by wearing what are commonly referred to as “braces.”Braces comprise a variety of appliances such as brackets, archwires,ligatures, and O-rings. Attaching the appliances to a patient's teeth isa tedious and time-consuming enterprise requiring many meetings with thetreating orthodontist. Consequently, conventional orthodontic treatmentlimits an orthodontist's patient capacity and makes orthodontictreatment quite expensive. As such, the use of conventional braces is atedious and time consuming process and requires many visits to theorthodontist's office. Moreover, from the patient's perspective, the useof braces is unsightly, uncomfortable, presents a risk of infection, andmakes brushing, flossing, and other dental hygiene procedures difficult.

2. Description of the Background Art

Tooth positioners for finishing orthodontic treatment are described byKesling in the Am. J Orthod. Oral. Surg. 31:297-304 (1945) and32:285-293 (1946). The use of silicone positioners for the comprehensiveorthodontic realignment of a patient's teeth is described in Warunek etal. (1989) J. Clin. Orthod. 23:694-700. Clear plastic retainers forfinishing and maintaining tooth positions are commercially availablefrom Raintree Essix, Inc., New Orleans, La. 70125, and Tru-TainPlastics, Rochester, Minn. 55902. The manufacture of orthodonticpositioners is described in U.S. Pat. Nos. 5,186,623; 5,059,118;5,055,039; 5,035,613; 4,856,991; 4,798,534; and 4,755,139.

Other publications describing the fabrication and use of dentalpositioners include Kleemann and Janssen (1996) J Clin. Orthodon.30:673-680; Cureton (1996) J Clin. Orthodon. 30:390-395; Chiappone(1980) J Clin. Orthodon. 14:121-133; Shilliday (1971) Am. J Orthodontics59:596-599; Wells (1970) Am. J Orthodontics 58:351-366; and Cottingham(1969) Am. J. Orthodontics 55:23-31.

Kuroda et al. (1996) Am. J Orthodontics 110:365-369 describes a methodfor laser scanning a plaster dental cast to produce a digital image ofthe cast. See also U.S. Pat. No. 5,605,459.

U.S. Pat. Nos. 5,533,895; 5,474,448; 5,454,717; 5,447,432; 5,431,562;5,395,238; 5,368,478; and 5,139,419, assigned to Ormco Corporation,describe methods for manipulating digital images of teeth for designingorthodontic appliances.

U.S. Pat. No. 5,011,405 describes a method for digitally imaging a toothand determining optimum bracket positioning for orthodontic treatment.Laser scanning of a molded tooth to produce a three-dimensional model isdescribed in U.S. Pat. No. 5,338,198. U.S. Pat. No. 5,452,219 describesa method for laser scanning a tooth model and milling a tooth mold.Digital computer manipulation of tooth contours is described in U.S.Pat. Nos. 5,607,305 and 5,587,912. Computerized digital imaging of thejaw is described in U.S. Pat. Nos. 5,342,202 and 5,340,309. Otherpatents of interest include U.S. Pat. Nos. 5,549,476; 5,382,164;5,273,429; 4,936,862; 3,860,803; 3,660,900; 5,645,421; 5,055,039;4,798,534; 4,856,991; 5,035,613; 5,059,118; 5,186,623; and 4,755,139.

BRIEF SUMMARY OF THE INVENTION

In one aspect, computer-implemented systems and methods implement adental treatment plan by specifying tooth movement patterns using atwo-dimensional array; and generating treatment paths to move the teethin accordance with the specified pattern.

Implementations of the invention include one or more of the following.One dimension of the array identifies each stage in the teeth movementand one dimension of the array identifies a unique tooth. Tooth movementis specified by indicating a start stage and an end stage for a tooth.One or more tooth paths is determined based on the selected toothmovement pattern. The method includes selecting one or more clinicaltreatment prescriptions that include at least one of the following:space closure, reproximation, dental expansion, flaring, distalization,and lower incisor extraction. An appliance is fabricated for eachtreatment stage. The appliance can be either a removable appliance or afixed appliance. The method also includes generating a three-dimensionalmodel for the teeth for each treatment stage.

The system can conform to one or more constraints. The constraintsrelates to teeth crowding, teeth spacing, teeth extraction, teethstripping, teeth rotation, and teeth movement. The teeth can be rotatedapproximately five and ten degrees (per stage) and can be incrementallymoved in one or more stages (per stage), each stage moving each toothapproximately 0.2 mm to approximately 0.4 mm. The constraints can bestored in an array with one dimension of the array identifying eachstage in the teeth movement. The treatment paths can include determiningthe minimum amount of transformation required to move each tooth fromthe initial position to the final position and creating each treatmentpath to require only the minimum amount of movement. Additionally,intermediate positions can be generated for at least one tooth betweenwhich the tooth undergoes translational movements of equal sizes.Further, intermediate positions can be generated for at least one toothbetween which the tooth undergoes translational movements of unequalsizes. A set of rules can be applied to detect any collisions that willoccur as the patient's teeth move along the treatment paths. Collisionscan be detected by calculating distances between a first tooth and asecond tooth by establishing a neutral projection plane between thefirst tooth and the second tooth, establishing a z-axis that is normalto the plane and that has a positive direction and a negative directionfrom each of a set of base points on the projection plane, computing apair of signed distances comprising a first signed distance to the firsttooth and a second signed distance to the second tooth, the signeddistances being measured on a line through the base points and parallelto the z-axis, and determining that a collision occurs if any of thepair of signed distances indicates a collision. Where the positivedirection for the first distance is opposite the positive direction forthe second distance, a collision is detected if the sum of any pair ofsigned distances is less than or equal to zero. Information indicatingwhether the patient's teeth are following the treatment paths can beused to revise the treatment paths. More than one candidate treatmentpath for each tooth can be generated and graphically displayed for eachcandidate treatment path to a human user for selection. A set of rulescan be applied to detect any collisions that will occur as the patient'steeth move along the treatment paths. Collisions can be detected bycalculating distances between a first tooth and a second tooth by:establishing a neutral projection plane between the first tooth and thesecond tooth, establishing a z-axis that is normal to the plane and thathas a positive direction and a negative direction from each of a set ofbase points on the projection plane, computing a pair of signeddistances comprising a first signed distance to the first tooth and asecond signed distance to the second tooth, the signed distances beingmeasured on a line through the base points and parallel to the z-axis,and determining that a collision occurs if any of the pair of signeddistances indicates a collision. A collision can also be detected if thesum of any pair of signed distances is less than or equal to zero. A setof rules can be applied to detect any improper bite occlusions that willoccur as the patient's teeth move along the treatment paths. A value fora malocclusion index can be computed and the value displayed to a humanuser. The treatment paths can be generated by receiving data indicatingrestraints on movement of the patient's teeth and applying the data togenerate the treatment paths. A three-dimensional (3D) graphicalrepresentation of the teeth at the positions corresponding to a selecteddata set can be rendered. The graphical representation of the teeth toprovide a visual display of the movement of the teeth along thetreatment paths can be generated. A graphical interface, with componentsrepresenting the control buttons on a videocassette recorder, which ahuman user can manipulate to control the animation, can be generated. Aportion of the data in the selected data set may be used to render thegraphical representation of the teeth. A level-of-detail compression canbe applied to the data set to render the graphical representation of theteeth. A human user can modify the graphical representation of the teethand the selected data set can be modified in response to the user'srequest. A human user can select a tooth in the graphical representationand, in response, information about the tooth can be displayed. Theinformation can relate to the motion that the tooth will experiencewhile moving along the treatment path. The information can also indicatea linear distance between the tooth and another tooth selected in thegraphical representation. The teeth can be rendered at a selected one ofmultiple viewing orthodontic-specific viewing angles. A user interfacethrough which a human user can provide text-based comments after viewingthe graphical representation of the patient's teeth can be provided. Thegraphical representation data can be downloaded to a remote computer atwhich a human view wishes to view the graphical representation. An inputsignal from a 3D gyroscopic input device controlled by a human user canbe applied to alter the orientation of the teeth in the graphicalrepresentation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an elevational diagram showing the anatomical relationship ofthe jaws of a patient.

FIG. 2A illustrates in more detail the patient's lower jaw and providesa general indication of how teeth may be moved by the methods andapparatus of the present invention.

FIG. 2B illustrates a single tooth from FIG. 2A and defines how toothmovement distances are determined.

FIG. 2C illustrates the jaw of FIG. 2A together with an incrementalposition adjustment appliance which has been configured according to themethods and apparatus of the present invention.

FIG. 3 is a block diagram illustrating a process for producingincremental position adjustment appliances.

FIG. 4 is a flow chart illustrating a process for optimizing a finalplacement of the patient's teeth.

FIG. 5 is a flow chart illustrating the positioning of teeth at varioussteps of an orthodontic treatment plan.

FIG. 6 is a flow chart of a process for determining a tooth's path amongintermediate positions during an orthodontic treatment plan.

FIG. 7 is a flow chart of a process for optimizing the path of a toothfrom an initial position to a final position during an orthodontictreatment plan.

FIG. 8 is a diagram illustrating a buffering technique for use in acollision detection algorithm.

FIG. 9 is a flow chart for a collision detection technique.

FIG. 10 is a block diagram illustrating a system for generatingappliances in accordance with the present invention.

FIG. 11 is a diagram of a set of teeth that need to be moved in anexpansion pattern.

FIG. 12 is an exemplary two-dimensional diagram illustrating themovement of each tooth in the diagram of FIG. 11.

FIG. 13 shows an exemplary X-type movement.

FIG. 14 shows an exemplary A-type movement.

FIG. 15 shows an exemplary V-type movement.

FIG. 16 shows an exemplary XX-type movement.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 shows a skull 10 with an upper jawbone 22 and a lower jawbone 20.The lower jawbone 20 hinges at a joint 30 to the skull 10. The joint 30is called a temporomandibular joint (TMJ). The upper jawbone 22 isassociated with an upper jaw 101, while the lower jawbone 20 isassociated with a lower jaw 100.

A computer model of the jaws 100 and 101 is generated, and a computersimulation models interactions among the teeth on the jaws 100 and 101.The computer simulation allows the system to focus on motions involvingcontacts between teeth mounted on the jaws. The computer simulationallows the system to render realistic jaw movements which are physicallycorrect when the jaws 100 and 101 contact each other. The model of thejaw places the individual teeth in a treated position. Further, themodel can be used to simulate jaw movements including protrusivemotions, lateral motions, and “tooth guided” motions where the path ofthe lower jaw 100 is guided by teeth contacts rather than by anatomicallimits of the jaws 100 and 101. Motions are applied to one jaw, but mayalso be applied to both jaws. Based on the occlusion determination, thefinal position of the teeth can be ascertained.

Referring now to FIG. 2A, the lower jaw 100 includes a plurality ofteeth 102, for example. At least some of these teeth may be moved froman initial tooth arrangement to a final tooth arrangement. As a frame ofreference describing how a tooth may be moved, an arbitrary centerline(CL) may be drawn through the tooth 102. With reference to thiscenterline (CL), each tooth may be moved in orthogonal directionsrepresented by axes 104, 106, and 108 (where 104 is the centerline). Thecenterline may be rotated about the axis 108 (root angulation) and theaxis 104 (torque) as indicated by arrows 110 and 112, respectively.Additionally, the tooth may be rotated about the centerline, asrepresented by an arrow 114. Thus, all possible free-form motions of thetooth can be performed.

FIG. 2B shows how the magnitude of any tooth movement may be defined interms of a maximum linear translation of any point P on a tooth 102.Each point P1 will undergo a cumulative translation as that tooth ismoved in any of the orthogonal or rotational directions defined in FIG.2A. That is, while the point will usually follow a nonlinear path, thereis a linear distance between any point in the tooth when determined atany two times during the treatment. Thus, an arbitrary point P1 may infact undergo a true side-to-side translation as indicated by arrow d1,while a second arbitration point P2 may travel along an arcuate path,resulting in a final translation d2. Many aspects of the presentinvention are defined in terms of the maximum permissible movement of apoint P1 induced on any particular tooth. Such maximum tooth movement,in turn, is defined as the maximum linear translation of that point P1on the tooth which undergoes the maximum movement for that tooth in anytreatment step.

FIG. 2C shows one adjustment appliance 111 which is worn by the patientin order to achieve an incremental repositioning of individual teeth inthe jaw as described generally above. The appliance is a polymeric shellhaving a teeth receiving cavity. This is described in U.S. applicationSer. No. 09/169,036, filed Oct. 8, 1998, which claims priority from U.S.application Ser. No. 08/947,080, filed Oct. 8, 1997, which in turnclaims priority from provisional application number 06/050,352, filedJun. 20, 1997 (collectively the “prior applications”), the fulldisclosures of which are incorporated by reference.

As set forth in the prior applications, each polymeric shell may beconfigured so that its tooth receiving cavity has a geometrycorresponding to an intermediate or final tooth arrangement intended forthe appliance. The patient's teeth are repositioned from their initialtooth arrangement to a final tooth arrangement by placing a series ofincremental position adjustment appliances over the patient's teeth. Theadjustment appliances are generated at the beginning of the treatment,and the patient wears each appliance until the pressure of eachappliance on the teeth can no longer be felt. At that point, the patientreplaces the current adjustment appliance with the next adjustmentappliance in the series until no more appliance remains. Conveniently,the appliances are generally not affixed to the teeth and the patientmay place and replace the appliances at any time during the procedure.The final appliance or several appliances in the series may have ageometry or geometries selected to overcorrect the tooth arrangement,i.e., have a geometry which would (if fully achieved) move individualteeth beyond the tooth arrangement which has been selected as the“final.” Such overcorrection may be desirable in order to offsetpotential relapse after the repositioning method has been terminated,i.e., to permit some movement of individual teeth back toward theirprecorrected positions. Overcorrection may also be beneficial to speedthe rate of correction, i.e., by having an appliance with a geometrythat is positioned beyond a desired intermediate or final position, theindividual teeth will be shifted toward the position at a greater rate.In such cases, the use of an appliance can be terminated before theteeth reach the positions defined by the appliance.

The polymeric shell 111 can fit over all teeth present in the upper orlower jaw. Often, only certain one(s) of the teeth will be repositionedwhile others of the teeth will provide a base or an anchor region forholding the appliance 111 in place as the appliance 111 applies aresilient repositioning force against the tooth or teeth to berepositioned. In complex cases, however, multiple teeth may berepositioned at some point during the treatment. In such cases, theteeth which are moved can also serve as a base or anchor region forholding the repositioning appliance.

The polymeric appliance 111 of FIG. 2C may be formed from a thin sheetof a suitable elastomeric polymer, such as Tru-Tain 0.03 in, thermalforming dental material, available from Tru-Tain Plastics, Rochester,Minn. Usually, no wires or other means will be provided for holding theappliance in place over the teeth. In some cases, however, it will bedesirable or necessary to provide individual anchors on teeth withcorresponding receptacles or apertures in the appliance 100 so that theappliance can apply an upward force on the tooth which would not bepossible in the absence of such an anchor.

FIG. 3 shows a process 200 for producing the incremental positionadjustment appliances for subsequent use by a patient to reposition thepatient's teeth. As a first step, an initial digital data set (IDDS)representing an initial tooth arrangement is obtained (step 202).

In some implementations, the IDDS includes data obtained by scanning aphysical model of the patient's teeth, such as by scanning a positiveimpression or a negative impression of the patient's teeth with a laserscanner or a destructive scanner. The positive and negative impressionmay be scanned while interlocked with each other to provide moreaccurate data. The initial digital data set also may include volumeimage data of the patient's teeth, which the computer can convert into a3D geometric model of the tooth surfaces, for example using aconventional marching cubes technique. In some embodiments, theindividual tooth models include data representing hidden tooth surfaces,such as roots imaged through x-ray, CT scan, or MRI techniques. Toothroots and hidden surfaces also can be extrapolated from the visiblesurfaces of the patient's teeth. The IDDS is then manipulated using acomputer having a suitable graphical user interface (GUI) and softwareappropriate for viewing and modifying the images. More specific aspectsof this process will be described in detail below.

Individual tooth and other components may be segmented or isolated inthe model to permit their individual repositioning or removal from thedigital model. After segmenting or isolating the components, the userwill often reposition the tooth in the model by following a prescriptionor other written specification provided by the treating professional.Alternatively, the user may reposition one or more teeth based on avisual appearance or based on rules and algorithms programmed into thecomputer. Once the user is satisfied, the final teeth arrangement isincorporated into a final digital data set (FDDS) (step 204).

In step 204, final positions for the upper and lower teeth in amasticatory system of a patient are determined by generating a computerrepresentation of the masticatory system. An occlusion of the upper andlower teeth is computed from the computer representation; and afunctional occlusion is computed based on interactions in the computerrepresentation of the masticatory system. The occlusion may bedetermined by generating a set of ideal models of the teeth. Each idealmodel in the set of ideal models is an abstract model of idealized teethplacement which is customized to the patient's teeth, as discussedbelow. After applying the ideal model to the computer representation,and the position of the teeth is optimized to fit the ideal model. Theideal model may be specified by one or more arch forms, or may bespecified using various features associated with the teeth.

The FDDS is created by following the orthodontists' prescription to movethe teeth in the model to their final positions. In one embodiment, theprescription is entered into a computer, which automatically computesthe final positions of the teeth. In alternative other embodiments, auser moves the teeth into their final positions by independentlymanipulating one or more teeth while satisfying the constraints of theprescription. Various combinations of the above described techniques mayalso be used to arrive at the final tooth positions.

One method for creating the FDDS involves moving the teeth in aspecified sequence. First, the centers of each tooth model may bealigned using a number of methods. One method is a standard arch. Then,the teeth models are rotated until their roots are in the propervertical position. Next, the teeth models are rotated around theirvertical axis into the proper orientation. The teeth models are thenobserved from the side, and translated vertically into their propervertical position. Finally, the two arches are placed together, and theteeth models moved slightly to ensure that the upper and lower archesproperly mesh together. The meshing of the upper and lower archestogether is visualized using a collision detection process to highlightthe contacting points of the teeth.

Based on both the IDDS and the FDDS, a plurality of intermediate digitaldata sets (INTDDSs) are defined to correspond to incrementally adjustedappliances (step 206). Finally, a set of incremental position adjustmentappliances are produced based on the INTDDs and the FDDS (step 208).

After the teeth and other components have been placed or removed toproduce a model of the final tooth arrangement, it is necessary togenerate a treatment plan which produces a series of INTDDS's and FDDSas described previously. To produce these data sets, it is necessary todefine or map the movement of selected individual teeth from the initialposition to the final position over a series of successive steps. Inaddition, it may be necessary to add other features to the data sets inorder to produce desired features in the treatment appliances. Forexample, it may be desirable to add wax patches to the image in order todefine cavities or recesses for particular purposes, such as to maintaina space between the appliance and particular regions of the teeth or jawin order to reduce soreness of the gums, avoid periodontal problems,allow for a cap, and the like. Additionally, it will often be necessaryto provide a receptacle or aperture intended to accommodate an anchorwhich is to be placed on a tooth in order to permit the tooth to bemanipulated in a manner that requires the anchor, e.g., to be liftedrelative to the jaw.

In the manner discussed above, information on how the patient's teethshould move from an initial, untreated state to a final, treated stateis used to generate a prescription, or treatment plan. The prescriptiontakes into consideration the following:

1. Initial Position: a detailed description of the initial maloclussion.

2. Final Position: a detailed description of treatment goals for thepatient.

3. Movement: a detailed, sequential description of how the patient'steeth should be moved in order to accomplish the desired goals for finalplacement.

1. Initial Position

The initial position section describes in detail the patient'smalocclusion.

Considerations Include

a. Crowding

b. Spacing

c. Extraction

d. Stripping

Additionally, considerations for the Final Position discussed below mayalso be used.

2. Final Position

This section is a detailed description of your final position objectivesand treatment goals—both static and functional. These considerationsinclude

a. Overjet

b. Overbite

c. Midlines

d. Functional Occlusion

e. Classification

f. Torque

g. Tip

h. Rotations

i. Lingual/Palatal

j. Buccal/Facial

k. Intercuspation

l. Initial Position of the Occlusion—CR/CO Considerations

m. Interarch Issues

n. Intra-arch Issues

o. Space

3. Movement

The movement section specifies an order in moving the patient's teeth inorder to achieve the goals for final placement. In this process, theorthodontist has precise control over which teeth the orthodontist wantsto move and which teeth to anchor (not move), thereby breaking thetreatment down into discrete stages. The movement order information iscaptured for both the upper and the lower arches.

At each stage, major and minor tooth movements are analyzed. Majormovements usually occur at the beginning of a tooth's movement. Minormovements usually occur as “detailing” movements that occur toward theend of treatment. On average, each aligner should be able to accomplishmove about 0.25-0.33 mm and to rotate about 5-10 degrees within a 2-weekperiod. However, biologic variability, patient and clinician preferencesare also taken into consideration. Additionally, various movements suchas distalization, tip, and torque can have separate parameters.

Based on these considerations, a plan is generated for moving teeth.FIG. 4 illustrates a process 300 for generating tooth movements whileminimizing teeth indices, as discussed in copending U.S. applicationSer. No. 09/169,034, the content of which is hereby incorporated byreference. First, the process 300 automatically or, with humanassistance, identifies various features associated with each tooth toarrive at a model of the teeth (step 302). An ideal model set of teethis then generated either from casts of the patient's teeth or frompatients with a known acceptable occlusion (step 303).

From step 302, the process 300 positions the model of the teeth in itsapproximate final position based on a correspondence of features to theideal model (step 304). In that step, each tooth model is moved so thatits features are aligned to the features of a corresponding tooth in theideal model. The features may be based on cusps, fossae, ridges,distance-based metrics, or shape-based metrics. Shape-based metrics maybe expressed as a function of the patient's arches, among others.

Next, the process 300 computes an orthodontic/occlusion index (step306). One index which may be used is the PAR (Peer Assessment Rating)index. In addition to PAR, other metrics such as shape-based metrics ordistance-based metrics may be used. The PAR index identifies how far atooth is from a good occlusion. A score is assigned to various occlusaltraits which make up a malocclusion. The individual scores are summed toobtain an overall total, representing the degree a case deviates fromnormal alignment and occlusion. Normal occlusion and alignment isdefined as all anatomical contact points being adjacent, with a goodintercuspal mesh between upper and lower buccal teeth, and withnonexcessive overjet and overbite.

In PAR, a score of zero would indicate good alignment, and higher scoreswould indicate increased levels of irregularity. The overall score isrecorded on pre- and posttreatment dental casts. The difference betweenthese scores represents the degree of improvement as a result oforthodontic intervention and active treatment. The eleven components ofthe PAR Index are: upper right segment; upper anterior segment; upperleft segment; lower right segment; lower anterior segment; lower leftsegment; right buccal occlusion; overjet; overbite; centerline; and leftbuccal occlusion. In addition to the PAR index, other indices may bebased on distances of the features on the tooth from their idealpositions or ideal shapes.

From step 306, the process 300 determines whether additionalindex-reducing movements are possible (step 308). Here, all possiblemovements are attempted, including small movements along each major axisas well as small movements with minor rotations. An index value iscomputed after each small movement and the movement with the best resultis selected. In this context, the best result is the result thatminimizes one or more metrics such as PAR-based metrics, shape-basedmetrics or distance-based metrics. The optimization may use a number oftechniques, including simulated annealing technique, hill climbingtechnique, best-first technique, Powell method, and heuristicstechnique, among others. Simulated annealing techniques may be usedwhere the index is temporarily increased so that another path in thesearch space with a lower minimum may be found. However, by startingwith the teeth in an almost ideal position, any decrease in the indexshould converge to the best result.

In step 308, if the index can be optimized by moving the tooth,incremental index-reducing movement inputs are added (step 310) and theprocess loops back to step 306 to continue computing theorthodontic/occlusion index. Alternatively, in the event that the indexcannot be further optimized, the process 300 exits (step 312).

In generating the index reducing movements of step 310, the processconsiders a set of movement constraints which affect the tooth pathmovement plan. In one embodiment, movement information for about fiftydiscrete stages is specified. Each stage represents a single aligner,which is expected to be replaced about every two weeks. Thus, each stagerepresents about a two-week period. In one embodiment, a two-dimensionalarray is used to track specific movements for each tooth at a specificperiod of time. One dimension of this array relates to teethidentification, while the second dimension relates to the time periodsor stages. Considerations on when a tooth may be moved include thefollowing:

a. Mesial

b. Distal

c. Buccal/Facial

d. Lingual/Palatial

e. Expansion

f. Space

g. Teeth moving past each other

h. Intrusion

i. Extrusion

j. Rotations

k. Which teeth are moving when?

l. Which teeth move first?

m. Which teeth need to be moved before others are moved?

n. What movements are easily done?

o. Anchorage

p. The orthodontist user's philosophy on distalization of molars andminor expansion in adults

In one embodiment, the user can change the number of desired treatmentstages from the initial to the target states of the teeth. Any componentthat is not moved is assumed to remain stationary, and thus its finalposition is assumed to be the same as the initial position (likewise forall intermediate positions, unless one or more key frames are definedfor that component).

The user may also specify “key frames” by selecting an intermediatestate and making changes to component position(s). In some embodiments,unless instructed otherwise, the software automatically linearlyinterpolates between all user-specified positions (including the initialposition, all key frame positions, and the target position). Forexample, if only a final position is defined for a particular component,each subsequent stage after the initial stage will simply show thecomponent an equal linear distance and rotation (specified by aquaternion) closer to the final position. If the user specifies two keyframes for that component, the component will “move” linearly from theinitial position through different stages to the position defined by thefirst key frame. It will then move, possibly in a different direction,linearly to the position defined by the second key frame. Finally, itwill move, possibly in yet a different direction, linearly to the targetposition.

These operations may be done independently to each component, so that akey frame for one component will not affect another component, unlessthe other component is also moved by the user in that key frame. Onecomponent may accelerate along a curve between one pair of stages (e.g.,stages 3 and 8 in a treatment plan having that many stages), whileanother moves linearly between another pair of stages (e.g., stages 1 to5), and then changes direction suddenly and slows down along a linearpath to a later stage (e.g., stage 10). This flexibility allows a greatdeal of freedom in planning a patient's treatment.

In some implementations, non-linear interpolation is used instead of orin addition to linear interpolation to construct a treatment path amongkey frames. In general, a non-linear path, such as a spline curve,created to fit among selected points is shorter than a path formed fromstraight line segments connecting the points. A “treatment path”describes the transformation curve applied to a particular tooth to movethe tooth from its initial position to its final position. A typicaltreatment path includes some combination of rotational and translationalmovement of the corresponding tooth, as described above.

FIG. 5 shows step 310 in more detail. Initially, a first tooth isselected (step 311). Next, constraints associated with the tooth isretrieved for the current stage or period (step 312). Thus, for theembodiment which keeps a two-dimensional array to track specificmovements for each tooth at a specific period of time, the toothidentification and the time period or stage information are used toindex into the array to retrieve the constraints associated with thecurrent tooth.

Next, a tooth movement plan which takes into consideration theconstraints is generated (step 313). The process of FIG. 5 then detectswhether the planned movements would cause collisions with neighboringteeth (step 314). The collision detection process determines if any ofthe geometries describing the tooth surfaces intersect. If there are noobstructions, the space is considered free; otherwise it is obstructed.Suitable collision detection algorithms are discussed in more detailbelow.

If a collision occurs, a “push” vector is created to shift the path ofthe planned movement (step 315). Based on the push vector, the currenttooth “bounces” from the collision and a new tooth movement is generated(step 316). From step 314 or 316, the movement of the current tooth isfinalized.

Next, the process of FIG. 5 determines whether tooth movement plans havebeen generated for all teeth (step 317), and if so, the process exits.Alternatively, the next tooth in the treatment plan is selected (318),and the process of FIG. 5 loops back to step 312 to continue generatingtooth movement plans.

The resulting final path consists of a series of vectors, each of whichrepresents a group of values of the interpolation parameters of thetranslational and rotational components of the transformations of themoving teeth. Taken together, these constitute a schedule of toothmovement which avoids tooth-to-tooth interferences. Pseudo code forgenerating the tooth path in view of specified constraints is shownbelow:

For each tooth path model

For each path increment

Load constrains associated with each tooth

Move the tooth in view of constraint

Perform tooth collision detection

If collision occurs, for associated colliding teeth create “push” vectorand “bounce” back from collision to avoid collision

end for

end tooth path model

FIG. 6 is a flow chart of a computer-implemented process for generatingnon-linear treatment paths along which a patient's teeth will travelduring treatment. The non-linear paths usually are generatedautomatically by computer program, in some cases with human assistance.The program receives as input the initial and final positions of thepatient's teeth and uses this information to select intermediatepositions for each tooth to be moved (step 1600). The program thenapplies a conventional spline curve calculation algorithm to create aspline curve connecting each tooth's initial position to the tooth'sfinal position (step 1602). In many situations, the curve is constrainedto follow the shortest path between the intermediate positions. Theprogram then samples each spline curve between the intermediatepositions (step 1604) and applies the collision detection algorithm tothe samples (step 1606). If any collisions are detected, the programalters the path of at least one tooth in each colliding pair byselecting a new position for one of the intermediate steps (step 1608)and creating a new spline curve (1602). The program then samples the newpath (1604) and again applies the collision detection algorithm (1606).The program continues in this manner until no collisions are detected.The routine then stores the paths, e.g., by saving the coordinates ofeach point in the tooth at each position on the path in an electronicstorage device, such as a hard disk (step 1610).

The path-generating program, whether using linear or non-linearinterpolation, selects the treatment positions so that the tooth'streatment path has approximately equal lengths between each adjacentpair of treatment steps. The program also avoids treatment positionsthat force portions of a tooth to move with more than a given maximumvelocity. For example, a tooth can be scheduled to move along a firstpath T1 from an initial position T11 to a final position T13 through anintermediate position T12, which lies closer to the final position T13.Another tooth is scheduled to move along a shorter path T2 from aninitial position T21 to a final position T23 through an intermediateposition T22, which is equidistant from the initial and final positionsT21, T23. In this situation, the program may choose to insert a secondintermediate position T14 along the first path T1 that is approximatelyequidistant from the initial position T11 and the intermediate positionT12 and that is separated from these two positions by approximately thesame distance that separates the intermediate position T12 from thefinal position T13. Altering the first path T1 in this manner ensuresthat the first tooth will move in steps of equal size. However, alteringthe first path T1 also introduces an additional treatment step having nocounterpart in the second path T2. The program can respond to thissituation in a variety of ways, such as by allowing the second tooth toremain stationary during the second treatment step (i.e., as the firsttooth moves from one intermediate position T14 to the other intermediateposition T13) or by altering the second path T2 to include fourequidistant treatment positions. The program determines how to respondby applying a set of orthodontic constraints that restrict the movementof the teeth.

Orthodontic constraints that may be applied by the path-generatingprogram include the minimum and maximum distances allowed betweenadjacent teeth at any given time, the maximum linear or rotationalvelocity at which a tooth should move, the maximum distance over which atooth should move between treatment steps, the shapes of the teeth, thecharacteristics of the tissue and bone surrounding the teeth (e.g.,ankylose teeth cannot move at all), and the characteristics of thealigner material (e.g., the maximum distance that the aligner can move agiven tooth over a given period of time). For example, the patient's ageand jawbone density may dictate certain “safe limits” beyond which thepatient's teeth should not forced to move. In general, a gap between twoadjacent, relatively vertical and nontipped central and lateral teethshould not close by more than about 1 mm every seven weeks. The materialproperties of the orthodontic appliance also limit the amount by whichthe appliance can move a tooth. For example, conventional retainermaterials usually limit individual tooth movement to approximately 0.5mm between treatment steps. The constraints have default values thatapply unless patient-specific values are calculated or provided by auser. Constraint information is available from a variety of sources,including text books and treating clinicians.

In selecting the intermediate positions for each tooth, thepath-generating program invokes the collision detection program todetermine whether collisions will occur along the chosen paths. Theprogram also inspects the patient's occlusion at each treatment stepalong the path to ensure that the teeth align to form an acceptable bitethroughout the course of treatment. If collisions or an unacceptablebite will occur, or if a required constraint cannot be satisfied, theprogram iteratively alters the offending tooth path until all conditionsare met. The virtual articulator described above is one tool for testingbite occlusion of the intermediate treatment positions.

As shown in FIG. 7, once the path-generating program has establishedcollision-free paths for each tooth to be moved, the program calls anoptimization routine that attempts to make the transformation curve foreach tooth between the initial and final positions more linear. Theroutine begins by sampling each treatment path at points betweentreatment steps (step 1702), e.g., by placing two sample points betweeneach treatment step, and calculating for each tooth a more lineartreatment path that fits among the sample points (step 1704). Theroutine then applies the collision detection algorithm to determinewhether collisions result from the altered paths (step 1706). If so, theroutine resamples the altered paths (step 1708) and then constructs foreach tooth an alternative path among the samples (step 1710). Theroutine continues in this manner until no collisions occur (step 1712).

In some embodiments, as alluded to above, the software automaticallycomputes the treatment path, based upon the IDDS and the FDDS. This isaccomplished using a path scheduling algorithm which determines the rateat which each component, i.e., each tooth, moves along the path from theinitial position to the final position. The path scheduling algorithmdetermines the treatment path while avoiding “round-tripping,” i.e.,while avoiding moving a tooth along a distance greater than absolutelynecessary to straighten the teeth. Such motion is highly undesirable,and has potential negative effects on the patient.

One implementation of the path scheduling algorithm attempts first toschedule or stage the movements of the teeth by constraining each toothto the most linear treatment path between the initial and finalpositions. The algorithm then resorts to less direct routes to the finalpositions only if collisions will occur between teeth along the linearpaths or if mandatory constraints will be violated. The algorithmapplies one of the path-generation processes described above, ifnecessary, to construct a path for which the intermediate treatmentsteps do not lie along a linear transformation curve between the initialand final positions. Alternatively, the algorithm schedules treatmentpaths by drawing upon a database of preferred treatments for exemplarytooth arrangements. This database can be constructed over time byobserving various courses of treatment and identifying the treatmentplans that prove most successful with each general class of initialtooth arrangements. The path scheduling algorithm can create severalalternative paths and present each path graphically to the user. Thealgorithm provides as output the path selected by the user.

In other implementations, the path scheduling algorithm utilizes astochastic search technique to find an unobstructed path through aconfiguration space which describes possible treatment plans. Oneapproach to scheduling motion between two user defined global key framesis described below. Scheduling over a time interval which includesintermediate key frames is accomplished by dividing the time intervalinto subintervals which do not include intermediate key frames,scheduling each of these intervals independently, and then concatenatingthe resulting schedules.

A collision or interference detection algorithm employed in oneembodiment is based on the algorithm described in SIGGRAPH article,Stefan Gottschalk et al. (1996): “OBBTree: A Hierarchical Structure forRapid Interference Detection.” The contents of the SIGGRAPH article areherein incorporated by reference.

The algorithm is centered around a recursive subdivision of the spaceoccupied by an object, which is organized in a binary-tree like fashion.Triangles are used to represent the teeth in the DDS. Each node of thetree is referred to as an oriented bounding box (OBB) and contains asubset of triangles appearing in the node's parent. The children of aparent node contain between them all of the triangle data stored in theparent node.

The bounding box of a node is oriented so it tightly fits around all ofthe triangles in that node. Leaf nodes in the tree ideally contain asingle triangle, but can possibly contain more than one triangle.Detecting collisions between two objects involves determining if the OBBtrees of the objects intersect. If the OBBs of the root nodes of thetrees overlap, the root's children are checked for overlap. Thealgorithm proceeds in a recursive fashion until the leaf nodes arereached. At this point, a robust triangle intersection routine is usedto determine if the triangles at the leaves are involved in a collision.

The collision detection technique described here provides severalenhancements to the collision detection algorithm described in theSIGGRAPH article. For example, OBB trees can be built in a lazy fashionto save memory and time. This approach stems from the observation thatsome parts of the model will never be involved in a collision, andconsequently the OBB tree for such parts of the model need not becomputed. The OBB trees are expanded by splitting the internal nodes ofthe tree as necessary during the recursive collision determinationalgorithm.

Moreover, the triangles in the model which are not required forcollision data may also be specifically excluded from consideration whenbuilding an OBB tree. For instance, motion may be viewed at two levels.Objects may be conceptualized as “moving” in a global sense, or they maybe conceptualized as “moving” relative to other objects. The additionalinformation improves the time taken for the collision detection byavoiding recomputation of collision information between objects whichare at rest relative to each other since the state of the collisionbetween such objects does not change.

FIG. 8 illustrates an alternative collision detection scheme, one whichcalculates a “collision buffer” oriented along a z-axis 1802 along whichtwo teeth 1804, 1806 lie. The collision buffer is calculated for eachtreatment step or at each position along a treatment path for whichcollision detection is required. To create the buffer, an x,y plane 1808is defined between the teeth 1804, 1806. The plane must be “neutral”with respect to the two teeth. Ideally, the neutral plane is positionedso that it does not intersect either tooth. If intersection with one orboth teeth is inevitable, the neutral plane is oriented such that theteeth lie, as much as possible, on opposite sides of the plane. In otherwords, the neutral plane minimizes the amount of each tooth's surfacearea that lies on the same side of the plane as the other tooth.

In the plane 1808 is a grid of discrete points, the resolution of whichdepends upon the required resolution for the collision detectionroutine. A typical high-resolution collision buffer includes a 400×400grid; a typical low-resolution buffer includes a 20×20 grid. The z-axis1802 is defined by a line normal to the plane 1808.

The relative positions of the teeth 1804, 1806 are determined bycalculating, for each of the points in the grid, the linear distanceparallel to the z-axis 1802 between the plane 1808 and the nearestsurface of each tooth 1804, 1806. For example, at any given grid point(M,N), the plane 1808 and the nearest surface of the rear tooth 1804 areseparated by a distance represented by the value Z1(M,N), while theplane 1808 and the nearest surface of the front tooth 1806 are separatedby a distance represented by the value Z2(M,N). If the collision bufferis defined such that the plane 1808 lies at z=0 and positive values of zlie toward the back tooth 1804, then the teeth 1804, 1806 collide whenZ1(M,N) Z2(M,N) at any grid point (M,N) on the plane 1808.

FIG. 9 is a flow chart of a collision detection routine implementingthis collision buffer scheme. The routine first receives data from oneof the digital data sets indicating the positions of the surfaces of theteeth to be tested (step 1900). The routine then defines the neutralx,y-plane (step 1902) and creates the z-axis normal to the plane (step1904).

The routine then determines for the x,y-position of the first grid pointon the plane the linear distance in the z-direction between the planeand the nearest surface of each tooth (step 1906). To detect a collisionat that x,y-position, the routine determines whether the z-position ofthe nearest surface of the rear tooth is less than or equal to thez-position of the nearest surface of the front tooth (step 1908). If so,the routine creates an error message, for display to a user or forfeedback to the path-generating program, indicating that a collisionwill occur (step 1910). The routine then determines whether it hastested all x,y-positions associated with grid points on the plane (step1912) and, if not, repeats the steps above for each remaining gridpoint. The collision detection routine is performed for each pair ofadjacent teeth in the patient's mouth at each treatment step.

The system may also incorporate and the user may at any point use a“movie” feature to show an animation of the movement from initial totarget states. This is helpful for visualizing overall componentmovement throughout the treatment process.

As described above, one suitable user interface for componentidentification is a three dimensional interactive graphical userinterface (GUI). A three-dimensional GUI is also advantageous forcomponent manipulation. Such an interface provides the treatingprofessional or user with instant and visual interaction with thedigital model components. The three-dimensional GUI provides advantagesover interfaces that permit only simple low-level commands for directingthe computer to manipulate a particular segment. In other words, a GUIadapted for manipulation is better in many ways than an interface thataccepts directives, for example, only of the sort: “translate thiscomponent by 0.1 mm to the right.” Such low-level commands are usefulfor fine-tuning, but, if they were the sole interface, the processes ofcomponent manipulation would become a tiresome and time-consuminginteraction.

Before or during the manipulation process, one or more tooth componentsmay be augmented with template models of tooth roots. Manipulation of atooth model augmented with a root template is useful, for example, insituations where impacting of teeth below the gumline is a concern.These template models could, for example, comprise a digitizedrepresentation of the patient's teeth x-rays.

The software also allows for adding annotations to the data sets whichcan comprise text and/or the sequence number of the apparatus. Theannotation is added as recessed text (i.e., it is 3-D geometry), so thatit will appear on the printed positive model. If the annotation can beplaced on a part of the mouth that will be covered by a repositioningappliance, but is unimportant for the tooth motion, the annotation mayappear on the delivered repositioning appliance(s).

The above-described component identification and component manipulationsoftware is designed to operate at a sophistication commensurate withthe operator's training level. For example, the component manipulationsoftware can assist a computer operator, lacking orthodontic training,by providing feedback regarding permissible and forbidden manipulationsof the teeth. On the other hand, an orthodontist, having greater skillin intraoral physiology and teeth-moving dynamics, can simply use thecomponent identification and manipulation software as a tool and disableor otherwise ignore the advice.

FIG. 10 is a simplified block diagram of a data processing system 500.Data processing system 500 typically includes at least one processor 502which communicates with a number of peripheral devices over bussubsystem 504. These peripheral devices typically include a storagesubsystem 506 (memory subsystem 508 and file storage subsystem 514), aset of user interface input and output devices 518, and an interface tooutside networks 516, including the public switched telephone network.This interface is shown schematically as “Modems and Network Interface”block 516, and is coupled to corresponding interface devices in otherdata processing systems over communication network interface 524. Dataprocessing system 500 may include a terminal or a low-end personalcomputer or a high-end personal computer, workstation or mainframe.

The user interface input devices typically include a keyboard and mayfurther include a pointing device and a scanner. The pointing device maybe an indirect pointing device such as a mouse, trackball, touchpad, orgraphics tablet, or a direct pointing device such as a touchscreenincorporated into the display. Other types of user interface inputdevices, such as voice recognition systems, may be used.

User interface output devices may include a printer and a displaysubsystem, which includes a display controller and a display devicecoupled to the controller. The display device may be a cathode ray tube(CRT), a flat-panel device such as a liquid crystal display (LCD), or aprojection device. The display subsystem may also provide nonvisualdisplay such as audio output.

Storage subsystem 506 maintains the basic programming and dataconstructs that provide the functionality of the present invention. Thesoftware modules discussed above are typically stored in storagesubsystem 506. Storage subsystem 506 typically comprises memorysubsystem 508 and file storage subsystem 514.

Memory subsystem 508 typically includes a number of memories including amain random access memory (RAM) 510 for storage of instructions and dataduring program execution and a read only memory (ROM) 512 in which fixedinstructions are stored. In the case of Macintosh-compatible personalcomputers the ROM would include portions of the operating system; in thecase of IBM-compatible personal computers, this would include the BIOS(basic input/output system).

File storage subsystem 514 provides persistent (nonvolatile) storage forprogram and data files, and typically includes at least one hard diskdrive and at least one floppy disk drive (with associated removablemedia). There may also be other devices such as a CD-ROM drive andoptical drives (all with their associated removable media).Additionally, the system may include drives of the type with removablemedia cartridges. The removable media cartridges may, for example behard disk cartridges, such as those marketed by Syquest and others, andflexible disk cartridges, such as those marketed by Iomega. One or moreof the drives may be located at a remote location, such as in a serveron a local area network or at a site on the Internet's World Wide Web.

In this context, the term “bus subsystem” is used generically so as toinclude any mechanism for letting the various components and subsystemscommunicate with each other as intended. With the exception of the inputdevices and the display, the other components need not be at the samephysical location. Thus, for example, portions of the file storagesystem could be connected over various local-area or wide-area networkmedia, including telephone lines. Similarly, the input devices anddisplay need not be at the same location as the processor, although itis anticipated that the present invention will most often be implementedin the context of PCS and workstations.

Bus subsystem 504 is shown schematically as a single bus, but a typicalsystem has a number of buses such as a local bus and one or moreexpansion buses (e.g., ADB, SCSI, ISA, EISA, MCA, NuBus, or PCI), aswell as serial and parallel ports. Network connections are usuallyestablished through a device such as a network adapter on one of theseexpansion buses or a modem on a serial port. The client computer may bea desktop system or a portable system.

Scanner 520 is responsible for scanning casts of the patient's teethobtained either from the patient or from an orthodontist and providingthe scanned digital data set information to data processing system 500for further processing. In a distributed environment, scanner 520 may belocated at a remote location and communicate scanned digital data setinformation to data processing system 500 over network interface 524.

Fabrication machine 522 fabricates dental appliances based onintermediate and final data set information received from dataprocessing system 500. In a distributed environment, fabrication machine522 may be located at a remote location and receive data set informationfrom data processing system 500 over network interface 524.

The system of FIG. 10 can generate a series of appliances as defined bya treatment plan. The treatment plan can be specified by a treatingprofessional such as a dentist or an orthodontist, among others. FIGS.11-16 illustrate exemplary treatment specifications using a toothmovement planning system. FIG. 11 shows an exemplary set of fourteenteeth numbered 601, 602, 604, 606, 608, 610, 612, 614, 616, 618, 620,622, 624 and 625. In the example of FIG. 11, teeth 601, 602, 604 need tomove or expand toward the left side of the diagram, while teeth 606,608, 610 and 612 need a curvilinear expansion movement toward the leftalso. Correspondingly, teeth 614, 616 and 618 need to moved to the rightside of the diagram in a curvilinear expansion, and teeth 618, 620, 622,624 and 625 need to be moved to the right. The end result of theprescription exemplified in FIG. 11 is that teeth are moved in anexpansion pattern.

Turning now to FIG. 12, a diagrammatic illustration of the movement ofFIG. 11 as specified on a two-dimensional array is shown. In FIG. 12,the top row identifies the tooth identification, while the left columnnumber shows the stage sequence for each tooth. In this case, each stagetakes approximately two weeks, although the duration can be increased ordecreased. In the example of FIG. 12, the tooth 601 is moved betweenstages 1-10. Similarly, teeth 602, 604, 606 are moved between stages1-10. In stages 10-20, tooth 608 is moved. Further, in stages 20-30,teeth 610-616 are moved. Tooth 618 is moved between stages 10-20. Also,teeth 620, 622, 624 and 625 are moved in stages 1-10. The net result asspecified by the two-dimensional array is an expansion movement pattern.

Although FIGS. 13-16 show an exemplary expansion movement pattern, otherpatterns can be specified using the two-dimensional array as well. Thesepatterns can be incorporated into a library of movements. For a giveninitial position of patient teeth and a final corrected position, thesystem generates in-between stages by finding the stage positions ofeach tooth in accordance with a selected movement. FIGS. 13-16 showexemplary movement patterns, namely an X-type movement, an A-typemovement, a V-type movement, and an XX-type movement, among others.These exemplary movement patterns will be discussed next.

An exemplary X-type movement is shown in FIG. 13. The X-type movement isalso known as an ‘All Equal Movement’. In this movement, all teeth in agiven group are moving at the same time. The tooth path is determined bydividing a starting frame containing the teeth into half frames andrecursively determines intermediate paths in each half. The recursionstops when the moving distance in each frame meets a given criterion.Once the movements are done, the system adjusts teeth movements so thateach frame does not exceed one or more distance constraints.

Next, the A-type movement is discussed. In this type of movement, theanterior tooth moves first, followed by the posterior teeth. Themovement looks like an A character as the front tooth is moving ahead ofthe next tooth. In each tooth, the next tooth starts to move when thecurrent tooth reaches midway to the current tooth's goal position. Thediagram of the A type movement is shown in FIG. 14.

The V-type movement is shown in FIG. 15. Conceptually, the V typemovement is reverse of A type movement: the rear teeth move first thenthe next front teeth follow. In one implementation, a reverse A movementis done for posterior teeth, while the anterior teeth go through an Xtype movement.

FIG. 16 shows an XX type movement, which involves two all equalmovement. Posterior teeth go through an all equal movement (X-type)first and the anterior teeth go through the all equal movement.

Various alternatives, modifications, and equivalents may be used in lieuof the above components. Although the final position of the teeth may bedetermined using computer-aided techniques, a user may move the teethinto their final positions by independently manipulating one or moreteeth while satisfying the constraints of the prescription.

Additionally, the techniques described here may be implemented inhardware or software, or a combination of the two. The techniques may beimplemented in computer programs executing on programmable computersthat each includes a processor, a storage medium readable by theprocessor (including volatile and nonvolatile memory and/or storageelements), and suitable input and output devices. Program code isapplied to data entered using an input device to perform the functionsdescribed and to generate output information. The output information isapplied to one or more output devices.

Each program can be implemented in a high level procedural orobject-oriented programming language to operate in conjunction with acomputer system. However, the programs can be implemented in assembly ormachine language, if desired. In any case, the language may be acompiled or interpreted language.

Each such computer program can be stored on a storage medium or device(e.g., CD-ROM, hard disk or magnetic diskette) that is readable by ageneral or special purpose programmable computer for configuring andoperating the computer when the storage medium or device is read by thecomputer to perform the procedures described. The system also may beimplemented as a computer-readable storage medium, configured with acomputer program, where the storage medium so configured causes acomputer to operate in a specific and predefined manner.

The invention has been described in terms of particular embodiments.Other embodiments are within the scope of the following claims. Forexample, the three-dimensional scanning techniques described above maybe used to analyze material characteristics, such as shrinkage andexpansion, of the materials that form the tooth castings and thealigners. Also, the 3D tooth models and the graphical interfacedescribed above may be used to assist clinicians that treat patientswith conventional braces or other conventional orthodontic appliances,in which case the constraints applied to tooth movement would bemodified accordingly. Moreover, the tooth models may be posted on ahypertext transfer protocol (http) web site for limited access by thecorresponding patients and treating clinicians.

Further, while the invention has been shown and described with referenceto an embodiment thereof, those skilled in the art will understand thatthe above and other changes in form and detail may be made withoutdeparting from the spirit and scope of the following claims.

What is claimed is:
 1. A computer-implemented method to implement atreatment plan, the method comprising: specifying tooth movementpatterns using a two-dimensional array; and generating treatment pathsto move the teeth in accordance with a specified pattern, whereingenerating treatment paths comprises generating more than one candidatetreatment path for each tooth and providing a graphical display of eachcandidate treatment path to a human user for selection.
 2. The method ofclaim 1, wherein the treatment paths are modified by one or moreconstraints.
 3. The method of claim 2, wherein one of the constraintsrelates to teeth crowding.
 4. The method of claim 2, wherein one of theconstraints relates to teeth spacing.
 5. The method of claim 2, whereinone of the constraints relates to teeth extraction.
 6. The method ofclaim 2, wherein one of the constraints relates to teeth stripping. 7.The method of claim 2, wherein one of the constraints relates to teethrotation.
 8. The method of claim 7, wherein the teeth are rotatedapproximately five and ten degrees (per stage).
 9. The method of claim2, wherein one of the constraints relates to teeth movement.
 10. Themethod of claim 9, wherein the teeth are incrementally moved in one ormore stages (per stage).
 11. The method of claim 10, wherein each toothis moved approximately 0.2 mm to approximately 0.4 mm in each stage. 12.The method of claim 2, wherein the constraints are stored in an array.13. The method of claim 12, wherein one dimension of the arrayidentifies each stage in the teeth movement.
 14. The method of claim 12,wherein one dimension of the array identifies each stage in the teethmovement.
 15. The method of claim 12, wherein one dimension of the arrayidentifies a unique tooth.
 16. The method of claim 12, wherein onedimension of the array identifies each stage in the teeth movement andone dimension of the array identifies a unique tooth.
 17. The method ofclaim 16, further comprising specifying tooth movement by indicating astart stage and an end stage for a tooth.
 18. The method of claim 1,wherein generating the treatment paths includes determining the minimumamount of transformation required to move each tooth from the initialposition to the final position and creating each treatment path torequire only the minimum amount of movement.
 19. The method of claim 1,wherein generating the treatment path includes generating intermediatepositions for at least one tooth between which the tooth undergoestranslational movements of equal sizes.
 20. The method of claim 1,wherein generating the treatment path includes generating intermediatepositions for at least one tooth between which the tooth undergoestranslational movements of unequal sizes.
 21. The method of claim 1,further comprising applying a set of rules to detect any collisions thatwill occur as the patient's teeth move along the treatment paths. 22.The method of claim 1, further comprising receiving informationindicating whether the patient's teeth are following the treatment pathsand, if not, using the information to revise the treatment paths. 23.The method of claim 1, further comprising rendering a three-dimensional(3D) graphical representation of the teeth at the positionscorresponding to a selected data set.
 24. The method of claim 23,further comprising animating the graphical representation of the teethto provide a visual display of the movement of the teeth along thetreatment paths.
 25. The method of claim 24, further comprisingproviding a graphical interface, with components representing thecontrol buttons on a video cassette recorder, which a human user canmanipulate to control the animation.
 26. The method of claim 1, furthercomprising determining one or more tooth paths based on the selectedtooth movement pattern.
 27. The method of claim 26, wherein determininga tooth path comprises finding a collision free shortest path between aninitial position and a final position for one or more teeth.
 28. Themethod of claim 1, further comprising selecting one or more clinicaltreatment prescriptions.
 29. The method of claim 28, wherein theclinical treatment prescription includes at least one of the following:space closure, reproximation, dental expansion, flaring, distalization,and lower incisor extraction.
 30. The method of claim 1, furthercomprising dividing a path for one or more teeth into the series ofstages.
 31. The method of claim 1, further comprising generating anappliance for each treatment stage.
 32. The method of claim 31, whereinthe appliance is either a removable appliance or a fixed appliance. 33.The method of claim 1, further comprising generating a three-dimensionalmodel for the teeth for each treatment stage.
 34. A computer-implementedmethod to implement a treatment plan, the method comprising: specifyingtooth movement patterns using a two-dimensional array; generatingtreatment paths to move the teeth in accordance with a specifiedpattern; and rendering a three-dimensional (3D) animated graphicalrepresentation of the teeth at positions corresponding to a selecteddata set to provide a visual display of the movement of the teeth alongthe treatment paths.
 35. The method of claim 34, wherein the treatmentpaths are modified by one or more constraints.
 36. The method of claim35, wherein one of the constraints relates to teeth crowding.
 37. Themethod of claim 35, wherein one of the constraints relates to teethspacing.
 38. The method of claim 35, wherein one of the constraintsrelates to teeth extraction.
 39. The method of claim 35, wherein one ofthe constraints relates to teeth stripping.
 40. The method of claim 35,wherein one of the constraints relates to teeth rotation.
 41. The methodof claim 40, wherein the teeth are rotated approximately five and tendegrees (per stage).
 42. The method of claim 35, wherein one of theconstraints relates to teeth movement.
 43. The method of claim 42,wherein the teeth are incrementally moved in one or more stages (perstage).
 44. The method of claim 43, wherein each tooth is movedapproximately 0.2 mm to approximately 0.4 mm in each stage.
 45. Themethod of claim 35, wherein the constraints are stored in an array. 46.The method of claim 45, wherein one dimension of the stage in the teethmovement.
 47. The method of claim 45, wherein one dimension of the arrayidentifies each stage in the teeth movement.
 48. The method of claim 45,wherein one dimension of the array identifies a unique tooth.
 49. Themethod of claim 45, wherein one dimension of the array identifies eachstage in the teeth movement and one dimension of the array identifies aunique tooth.
 50. The method of claim 49, further comprising specifyingtooth movement by indicating a start stage and an end stage for a tooth.51. The method of claim 35, further comprising generating athree-dimensional model for the teeth for each treatment stage.
 52. Themethod of claim 34, wherein generating the treatment paths includesdetermining the minimum amount of transformation required to move eachtooth from the initial position to the final position and creating eachtreatment path to require only the minimum amount of movement.
 53. Themethod of claim 34, wherein generating the treatment path includesgenerating intermediate positions for at least one tooth between whichthe tooth undergoes translational movements of equal sizes.
 54. Themethod of claim 34, wherein generating the treatment path includesgenerating intermediate positions for at least one tooth between whichthe tooth undergoes translational movements of unequal sizes.
 55. Themethod of claim 34, further comprising applying a set of rules to detectany collisions that will occur as the patient's teeth move along thetreatment paths.
 56. The method of claim 34, further comprisingreceiving information indicating whether the patient's teeth arefollowing the treatment paths and, if not, using the information torevise the treatment paths.
 57. The method of claim 34, whereingenerating treatment paths comprises generating more than one candidatetreatment path for each tooth and providing a graphical display of eachcandidate treatment path to a human user for selection.
 58. The methodof claim 34, comprising providing a graphical interface, with componentsrepresenting the control buttons on a video cassette recorder, which ahuman user can manipulate to control the animation.
 59. The method ofclaim 34, further comprising determining one or more tooth paths basedon the selected tooth movement pattern.
 60. The method of claim 59,wherein determining a tooth path comprises finding a collision freeshortest path between an initial position and a final position for oneor more teeth.
 61. The method of claim 34, further comprising selectingone or more clinical treatment prescriptions.
 62. The method of claim61, wherein the clinical treatment prescription includes at least one ofthe following: space closure, reproximation, dental expansion, flaring,distalization, and lower incisor extraction.
 63. The method of claim 34,further comprising dividing a path for one or more teeth into the seriesof stages.
 64. The method of claim 34, further comprising generating anappliance for each treatment stage.
 65. The method of claim 64, whereinthe appliance is either a removable appliance or a fixed appliance.